home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
programs
/
mbbs12d.zip
/
MACROREG.MAC
< prev
next >
Wrap
Text File
|
1992-06-23
|
12KB
|
360 lines
MACROREG.MAC v1.2d
by Jeff Oberlee (C)opyright 1992
{:alr} {MACL MACROBBS.MAC,WF3} {:alu} {MACL MACROBBS.MAC,bbs}
{:esc_menu}
{IFCA ,ESM} {SEND ^J^M%an7%%an9%Time comes to a grinding halt! %an0}
{:ESM} {SETE-P0 ESM2} {SETV ch}
{PARM ,,,,0}
{INPU ch, PRESS: [ENTER] to CHAT, [U]seredit, [D]OS, [H]angup}
{COMP ch,h} {IFCO ESM4}
{COMP ch,d} {IFCO ESM5}
{COMP on,} {IFCO ESM}
{COMP ch,u} {IFCO ESM3}
{COMP ch,} {IFCO ,ESM}
{:ESM1} {COMP cf,} {IFCO CT8,ESM}
{:ESM2} {SETE-P0 esc_menu}
{IFCA ,ESM6} {SEND %an3%Then suddenly...} {PAUS 1}
{:ESM6} {RETURN}
{:ESM5} {SHEL} {GOTO ESM}
{:ESM3} {COMP open,y} {IFCO ESM}
{:ESM8} {COMP login_name,} {IFCO ESM}
{SETV lname,%login_name} {INPU lname,EDIT: Handle (3-30 characters)}
{COMP lname,1} {IFCO-GE ESM8}
{LENG %lname} {COMP _len,3} {IFCO-L ESM8}
{LENG %lname} {COMP _len,30} {IFCO-G ESM8}
{:ESM9} {SETV temp,%protocol} {INPU temp,EDIT: Protocol (1 letter)}
{LENG %temp} {COMP _len,1} {IFCO ,ESM9}
{:ESM0} {SETV ch,%al} {INPU ch,EDIT: Access Level (0-999)}
{COMP ch,999} {IFCO-G ESM0}
{SETV al,%ch}
{SETV protocol,%temp}
{SETV row,%_row} {SETV col,%_col} {DISP 2,2,0F,%an9 * Saving * }
{COMP lname,%login_name} {IFCO ESM7}
{SETV login_name,%lname}
{SETE time_out}
{CALL update_clist}
{:ESM7} {CALL write_user}
{DISP 2,2,07, }
{DISP %row,%col,,}
{SETV row} {SETV col} {SETV lname}
{GOTO ESM}
{:ESM4} {SETV s,2} {GOTO time_out}
{:chat}
{SETV temp,0} {SETV ccount,0}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Chat request} {WCLO}
{SEND ^J^M^J%an4%Paging %sysop ...^J^M}
{SPOC n} {SEND %an3%Press %an0[ESC]%an3 then %an0[ENTER]%an3 to chat with%an7 %login_name %an3...^J^M} {SPOC y}
{:CT7} {INCR ccount} {SETV-S ch,an%ccount}
{SEND %ch█}
{SEND ^G} {SEND ^G} {SEND ^G} {PAUS 2}
{COMP ccount,5} {IFCO-G ,CT7}
{:CT6} {SETV chat,CHAT}
{SEND ^M%an0%Sorry, %sysop isn't around right now.^J^M}
{SEND %an0%However, the chat flag has been set.^J^M^J}
{GOTO CT9}
{:CT8} {SETV tl,%_ela}
{SETG 240,time_out}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Started chat} {WCLO}
{COMP cb,y} {IFCO ,CT14}
{CAPT y,%datadir%CHAT.LOG}
{:CT14} {SEND ^J^M^J%an3%You've just entered . . . %an7%The Twilight Zone. %an3%Reality vanishes.^J^M}
{SEND %an2(Type "%an0%bye!%an2" on a blank line to exit when desired.)^J^M}
{SETV cf,1} {SETV co1,%an0} {SETV co2,%an3}
{SETE-P0 esc_menu}
{PUSH}
{:CT2} {COMP cf,1} {IFCO CT3}
{SEND %co2} {SETV cf,1} {GOTO CT4}
{:CT3} {SEND %co1} {SETV cf,2}
{:CT4} {SETV cline}
{:CT5} {SEND ^J}
{:CT13} {SEND ^M%cline}
{GETS-AH cline,78,CT2}
{COMP cline,/c} {IFCO switch_c}
{COMP cline,bye!} {IFCO CT1}
{COMP cline,bye!!} {IFCO time_out}
{COMP cline,/scroll} {IFCO view_scroll}
{COMP cline,NO CARRIER} {IFCO time_out}
{LENG %cline} {COMP %_len,77} {IFCO-LE CT4}
{SETV ccount,80} {SETV dline,0} {SETV cline, %cline}
{:CT11} {DECR ccount} {INCR dline}
{COMP ccount,60} {IFCO-LE CT4}
{SUBS ch,%ccount,1,%cline}
{COMP ch, } {IFCO ,CT11}
{COMP ccount,79} {IFCO CT4}
{INCR ccount}
{SUBS cline,%ccount,%dline,%cline}
{SETV ccount,0}
{:CT12} {INCR ccount} {SEND ^H}
{COMP ccount,%dline} {IFCO ,CT12}
{GOTO CT5}
{:CT1} {CAPT n}
{SETV ch,%_ela} {DECR ch,%tl} {INCR tlc,%ch} {SETV tl}
{SEND ^J^M^J%an3%You've just left . . . %an7%The Twilight Zone. %an3%Reality restored.^J^M^J}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Ended chat} {WCLO}
{SETV cf} {SETV co1} {SETV co2} {SETV chat} {SETV cline}
{POPS}
{:CT9} {SETV ccount}
{SETE-P0 esc_menu}
{CALL press_any_key}
{RETURN}
{:switch_c}
{:SW1} {SEND ^M%an0(0 %an1%1 %an2%2 %an3%3 %an4%4 %an5%5 %an6%6 %an7%7%an0) ^H}
{GETS-H ch,1,SW1}
{COMP ch,0} {IFCO-L SW1}
{COMP ch,7} {IFCO-G SW1}
{SEND ^M ^M}
{COMP cf,1} {IFCO ,SW3}
{SETV-S co2,an%ch} {SEND %co2} {GOTO SW4}
{:SW3} {SETV-S co1,an%ch} {SEND %co1}
{:SW4} {SETV cline}
{GOTO CT13}
{:view_scroll}
{SCROLL}
{GOTO CT4}
{:update_clist}
{ROPE %datadir%CALLERS.LST,UC1}
{WOPE %datadir%TEMP.000}
{:UC2} {READ ch} {READ cline} {READ dline}
{COMP ch,%userno} {IFCO UC3}
{WRIT %ch} {WRIT %cline} {WRIT %dline} {GOTO UC2}
{:UC3} {COMP s,1} {IFCO UC5}
{:UC4} {WRIT %ch}
{WRIT %login_name}
{WRIT %password}
{:UC5} {READ dline} {WRIT %dline} {GOTO UC5}
{:UC1} {WCLO}
{EXEC-N COPY %datadir%TEMP.000 %datadir%CALLERS.LST}
{EXEC-N DEL %datadir%TEMP.000}
{RETURN}
{:write_user}
{WOPE %userdir%%userno.MHS}
{WRIT %login_name}
{WRIT %password}
{WRIT %al}
{WRIT %protocol}
{WRIT %expert}
{WRIT %a}
{WRIT %fa}
{WCLO}
{RETURN}
{:time_out}
{IFCA TO}
{MACL MACROBBS.MAC,time_out}
{:TO} {MACL MACROBBS.MAC,gby}
{:cls}
{CLEA}
{COMP on,} {IFCO CLS3}
{COMP mnu,A} {IFCO CLS1}
{SEND ^[[2J}
{GOTO CLS2}
{:CLS1} {SEND ^L}
{:CLS2} {DISP 1,1,4F,│ }
{DISP 1,3,4E,%login_name #%userno}
{DISP 1,40,47,AL=%al}
{DISP 1,48,47,%mspeed}
{DISP 1,57,47,%_ela mins}
{DISP 1,70,4F,%an9%%chat}
{DISP 2,1,4F,└──────────────────────────────────────────────────────────────────────────────}
{DISP 3,1,07,}
{:CLS3} {RETURN}
{:press_any_key}
{COMP mnu,a} {IFCO PAK1}
{SEND %an3%%an9^[[24;1h^[[24;1f[Press Any Key]%an0}
{GOTO PAK2}
{:PAK1} {SEND ^J^M^J[Press Any Key]}
{:PAK2} {SETG 240,time_out}
{GETS-H temp,1,PAK}
{:PAK} {SEND ^M ^M}
{SETV temp}
{RETURN}
{:cd}
{IFCA cd1}
{COMP on,1} {IFCO time_out}
*-{:cd1} {COMP on,1} {IFCO ,cd2}
{COMP _ela,%tlc} {IFCO-GE time_out}
{:cd2} {RETURN}
{:expert_tog}
{COMP expert,ON}
{IFCO ET1}
{SETV expert,ON}
{GOTO ET2}
{:ET1} {SETV expert,OFF}
{:ET2} {RETURN}
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
{:start}
{SETE-P0 esc_menu}
{PUSH}
{:ST} {COMP expert,ON} {IFCO ST4}
{:ST1} {CALL cls}
{SEND ^J^M^J^J%an1}
{SEND ^J^M ┌───────────────────────────────────────────────────┐}
{SEND ^J^M │ %an0░░░░░░░░░░░%an7 H A L L O F F A M E %an0░░░░░░░░░░░%an1 │}
{SEND ^J^M └───────────────────────────────────────────────────┘^J^M^J}
{SEND %an1 [%an0%E%an1]%an1 Enter your info [%an0%V%an1] View an entry [%an0%M%an1] Message Base^J^M}
{SEND %an1 [%an0%D%an1]%an1 Display Your entry [%an0%C%an1] Chat [%an0%F%an1] File Base^J^M}
{SEND %an1 [%an0%U%an1]%an1 Update your entry [%an0%X%an1] Xpert Toggle [%an0%Q%an1] MAIN MENU^J^M}
{:ST4} {SEND ^J^M^J%an1%Hall of Fame %an0%%_tim^J^M}
{SETV ch,%tlc} {DECR ch,%_ela}
{SEND %an0%Mins Left: %ch^J^M}
{:ST6} {SEND ^M} {COMP expert,ON} {IFCO ,ST5}
{SEND %an1(%an7?%an1%=menu) }
{:ST5} {SEND %an7%HOF Command:%an3 ^H}
{SETG 240,ST0}
{:ST3} {CALL cd}
{GETS-H ch,1,ST3}
{COMP ch,*} {IFCO time_out}
{COMP ch,?} {IFCO ST1}
{COMP ch,e} {IFCO enter}
{COMP ch,d} {IFCO display}
{COMP ch,u} {IFCO modify}
{COMP ch,v} {IFCO view}
{COMP ch,c} {IFCO chat}
{COMP ch,x} {IFCO expert_tog}
{COMP ch,m} {IFCO msg_base}
{COMP ch,f} {IFCO file_tran}
{COMP ch,q} {IFCO ST0,ST6}
{:ST0} {SETV count} {SETV mcount} {SETV dline} {SETV df}
{SETV temp} {SETV to} {SETV lname}
{MACL MACROBBS.MAC,main_menu}
{:msg_base}
{IFEX %msgsdir%A%a.BAS,MB2}
{IFEX %msgsdir%A*.BAS,,ST6}
{SETV a,0}
{:MB1} {INCR a}
{COMP a,%mhigh} {IFCO-G ST6}
{IFEX %msgsdir%A%a.BAS,,MB1}
{:MB2}
{ROPE %msgsdir%A%a.BAS,MB1} {READ ch} {READ ch} {RCLO}
{COMP ch,%al) {IFCO-G MB1}
{MACL MACROMSG.MAC,start}
{:file_tran}
{IFEX %filedir%F%fa.BAS,FX2}
{IFEX %filedir%F*.BAS,,ST6}
{SETV fa,0}
{:FX1} {INCR fa}
{COMP fa,%fhigh} {IFCO-G ST6}
{IFEX %filedir%F%fa.BAS,,FX1}
{:FX2}
{ROPE %filedir%F%fa.BAS,FX1} {READ ch} {READ ch} {RCLO}
{COMP ch,%al) {IFCO-G FX1}
{MACL MACROFIL.MAC,start}
{:enter}
{IFEX %userdir%%userno.REG,E0}
{CALL cls}
{SEND %an3%Your Personal Public Profile...^J^M}
{SEND %an0%Press ENTER to skip any question. Max # of chars appear in []'s.^J^M}
{ROPE %datadir%QUESTION.DAT,E3}
{WOPE %userdir%%userno.reg}
{SETV count,0}
{:E1} {SEND ^J^M}
{READ ch} {READ dline} {INCR count}
{SEND %an7%%count.%an0 %dline [%ch]: %an7}
{SETG 120,ST}
{GETS dline,%ch,E2}
(:E2} {WRIT %dline}
{GOTO E1}
{:E3} {SEND ^J^M^J%an1%Saving...}
{WCLO}
{SETV dline} {SETV ch} {SETV count}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Entered HOF personal profile} {WCLO}
{SEND %an0%OK} {PAUS 1}
{GOTO ST}
{:E0} {SEND ^J^M^J%an1%Your entry already exists. You can [%an0%U%an1]pdate it.^J^M^J}
{GOTO ST6}
{:display}
{SETV lname,Your} {SETV to,%userno}
{IFEX %userdir%%to.REG,,D0}
{:V1} {CALL cls}
{SEND %an3%%lname Personal Public Profile...^J^M}
{SETV mcount,0}
{:D1} {SEND ^J^M} {SETV count,0} {INCR mcount}
{ROPE %datadir%QUESTION.DAT,D5}
{:D2} {INCR count} {READ dline} {READ dline}
{COMP count,%mcount} {IFCO ,D2}
{:D6} {RCLO} {SEND %an0%%dline: } {SETV count,0}
{ROPE %userdir%%to.REG,D1}
{:D3} {INCR count} {READ dline}
{COMP count,%mcount} {IFCO ,D3}
{RCLO} {SEND %an7%%dline}
{GOTO D1}
{:D0} {SEND ^J^M^J%an1%Caller's entry not found.^J^M^J}
{GOTO ST6}
{:D5} {COMP expert,ON} {IFCO ST}
{CALL press_any_key}
{GOTO ST}
{:D4} {SEND ^J^M^J%an1%Caller's entry not found.}
{GOTO view}
{:D8} {RETURN}
{:modify}
{IFEX %userdir%%userno.REG,,D0}
{CALL cls}
{EXEC-N DEL %datadir%TEMP.000}
{SEND %an3%Your Personal Public Profile...^J^M}
{SEND %an0%Use BACKSPACE to edit/erase an entry. Max # of chars appear in []'s.^J^M}
{SETV count,0} {SETV mcount,0}
{:M1} {SEND ^J^M}
{INCR mcount}
{ROPE %datadir%QUESTION.DAT,M7}
{:M2} {READ ch} {READ dline} {INCR count}
{COMP count,%mcount} {IFCO ,M2}
{RCLO} {SEND %an7%%mcount.%an0 %dline [%ch]: }
{SETV count,0}
{ROPE %userdir%%userno.REG,M0}
{:M3} {INCR count} {READ dline}
{COMP count,%mcount} {IFCO ,M3}
{RCLO} {SETV count,0}
{:M6} {SEND %an7%%dline}
{SETG 120,time_out}
{:M5} {GETS-A dline,%ch}
{WOPE-A %datadir%TEMP.000} {WRIT %dline} {WCLO}
{GOTO M1}
{:M0} {SETV dline,}
{GOTO M6}
{:M7} {SEND ^J^M^J%an1%Saving...}
{EXEC-N COPY %datadir%TEMP.000 %userdir%%userno.REG}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Updated HOF personal profile} {WCLO}
{SETV dline} {SETV ch} {SETV count}
{SEND %an0%OK} {PAUS 1}
{GOTO ST}
{:view}
{SEND ^J^M^J%an3%Enter a handle or ID# %an0%(ENTER=quit) :%an3 }
{GETS to,30,ST}
{ROPE %datadir%CALLERS.LST,MNU2}
{:MNU1} {READ ch} {READ lname} {READ dline}
{COMP to,%ch} {IFCO MNU5}
{COMP to,%lname} {IFCO ,MNU1}
{SETV to,%ch}
{:MNU5} {RCLO}
{SETV lname,%lname%'s}
{IFEX %userdir%%to.REG,V1,D4}
{:MNU2} {SEND ^J^M^J%an1%ID not found.}
{GOTO view}